/*
* Expected behaviour: The agent should select a plan for goals g(42) and g(43)
* only once and should keep selecting a plan for g(44) as this goal is never
* achieved. The agent should not execute actions for a goal after having
* achieved it, even if these actions occur inside an atomic block.
*/

Beliefs:
  b(42).
	c(43).
	d(44).

BeliefUpdates:
  { } Update(X) { g(X) } 

Goals:
  g(42),
  g(43),
  g(44)

PG-rules:

  g(X) <- b(X) | { [ print("first PG-rule"); skip; Update(X); print("should not be executed") ]  }

  g(X) <- c(X) | { print("second PG-rule"); skip; Update(X); print("should not be executed") }

  g(X) <- d(X) | { print("third PG-rule"); skip }
